Computer technology is a large part of almost every aspect of modern living. Computers range from fast and large super computers used to tackle very complex calculations, such as those associated with weather prediction, molecular dynamics and fluid flow problems, to single chip units that may be found in many everyday appliances such as washing machines, VCR""s and cars. A common feature of nearly all modem-day computers is that they use a binary system for both the instruction codes and the representation of the data on which the instructions operate. A further feature of modem digital computers is that, for any process, an explicit set of instructions is assembled to completely describe how data is to be manipulated from the time it is retrieved or accessed until a result is to be either used or stored in an appropriate location or device. For some processes, such as the storing and retrieving of large volumes of data, either as text (ASCII format) or as values (Binary format), digital computers are eminently suitable. However, there also exist many tasks for which the digital architecture is far from ideal, such as the modeling of complex interactions best described by differential equations. Real world processes involve macroscopic properties that are analog in that they can have any value within a continuous range (excluded are the special conditions under which quantitation of properties can be demonstrated). Therefore these analog values need to be converted into a digital format before they can be used in any computation.
More importantly, digital computers operate in a completely different way from the nervous system or brains of even the most simple of organisms. A great deal of literature has been written about, and research carried out on, the distinction between the modern digital and neural processing of information, with the further realization that the latter is intimately linked with an ability to learn about the external world. Today an increasing amount of effort is expended towards gaining an understanding of the neural process with the aim of creating a machine to combine the ability to learn by experience with its computational and interpretive ability.
Soon after the revolution in transistor electronics, machines were built that were able to accept analog voltage values representative of real world parameters and process these according to predetermined arrangement of summing, integrating and differentiating units. The output of these analog computers were also voltages, again representative of the resulting computation. Their single biggest drawback was that the circuit had to be reconfigured each time a change in the actual computation was necessitated. Even so, nearly all transducers measuring real world properties in use today are associated with some fixed analog signal processing capability, both linear and non-linear in terms of the transformations applied.
The invention provides various electronic circuits or devices where at least two current mirrors are coupled together in a complementary manner. With such a configuration, an output current of the combined current mirrors is related to an input current, and in the case where a PNP current mirror follows a NPN current mirror the output current is at a higher (in absolute value) potential difference. In one aspect, a controlling current may be input to the first current mirror and one or more other inputs to the first current mirror and/or one or more outputs of the second current mirror may be mirrored by the controlling current. In another aspect, the complementary current mirrors of the invention may be arranged as a system of nodes that are resistively connected to form a network which is able to process various types of current signals. A single or multiple inputs and a single or multiple outputs may be utilized with each mode. Further, signals may be transmitted between the nodes in a feedback and/or a feed forward manner.
Hence, the network nodes of the invention comprise a circuit configuration that has a current input associated with the summing junction of a current mirror, components that copy this input current to optionally provide for both positive feedback and positive feedforward. Additionally, a network node has a current output derived from a current mirror of opposite polarity to the mirror at the current input and components that copy this input current to optionally provide for both negative feedback and negative feedforward. An important property of this form of node is that its input can be directly connected to one or more outputs from other nodes that comprise a network without regard to the resistance of that connection. It is also possible to connect the input to the feedback or feedforward (positive or negative) of any other node without regard to the resistance of that connection. Network nodes can differ for each other in the type of signal the produce at the output, with the stipulation that the signal is a current. Signals may be of the analogue type whereby the information is encoded in the magnitude of the current. Another type of node may process the signal in the form of current packets, the magnitude of which may be set by an external trip voltage. In these types of nodes the information is encoded in terms of the frequency of the current packets. Network nodes are not limited to be either of the forgoing, but could easily be a combination of the two forms or of other signal forms. Another property of network nodes is that nodes of different type can be directly connected again without regard to the resistance of that connection.
The invention may also employ input nodes and output nodes to facilitate coupling of the network to external components or systems. For example, an input node may comprise a circuit configuration that accepts an input related to some real-world property or parameter value and outputs a current from a current mirror so as to allow direct connection to the input or inputs of one or more network nodes without regard to the resistance of that connection.
An output node may comprise a circuit configuration that accepts a current at the summing junction of a current mirror so as to allow direct connection to the output or outputs of one or more network nodes without regard to the resistance of that connection. This current is then translated into a form as to be useful in the interpretation of the whole network transformation of all the network inputs, and could take the form of a current, a voltage, a simple binary output, a digital output with more resolution than provided by a simple digital output, or the like.
As previously mentioned, the network nodes are resistively connected. This may be accomplished, for example, by using a resistive matrix or network. Resistive networks can be constructed from discrete resistors, from a resistive medium, such as, for example, polysilicon, cadmium sulfide, or the like, or a combination of discrete resistors and a resistive medium. Further, when using discrete resistors many arrangements are possible and are known to those skilled in the art. Resistive network are described generally in C. Mead, xe2x80x9cAnalog VLSI and Neural Systemsxe2x80x9d (especially Appendix C), and in Louis Weinberg, xe2x80x9cNetwork Analysis and Synthesisxe2x80x9d, McGraw-Hill, ISBN 0-88275-321-5 (1975), the complete disclosures of which are herein incorporated by reference.
In one particular embodiment, the invention provides a hardware arrangement of semiconductor devices or semiconductor junctions utilizing the principles of current mirroring. These devices or circuit configurations (nodes) may be assembled into an array to effect the functions of an analog computer. Arrays of nodes may be assembled to operate in a fixed mode to carry out functions closely approximating neural network transformations. Arrays of nodes may also be configured such that the transfer function of the network is programmable, i.e. the manner in which the current signals are transferred through the network is programmable. Another configuration of an array of nodes allows the transfer function to be dynamically altered, either by a separate controller or by the output of the array itself. Further, the transfer function may be controlled by both a separate program sequencer in conjunction with the output of the array itself.
In all the foregoing modes of operation, the information flow within the array may be encoded in a direct analog format, e.g., the value of an electrical current. Information flow within the array of nodes may also be encoded in the form of a pulse train where the frequency of the pulses is related to a parameter value, or information may be processed as a combination of the two aforementioned modes.
The simplicity of the node configuration allows for a high density of nodes to be integrated into a network by utilizing current standards for integrated circuit fabrication techniques. In this way, complex networks may readily be constructed.
The analog processing arrays of the invention, either alone or in conjunction with digital microprocessors, overcome computational limitations associated with present generation computers due to their lack of speed. The analog processing arrays of the invention may also find use for tasks to which modern digital computers are unsuited. A further promising area for the analog processing arrays of the invention is in field of artificial intelligence. More specifically, the processing arrays of the invention may be configured to xe2x80x9clearnxe2x80x9d their optimum configurations (or transfer functions) from a training set of data or over a course of time during which they are exposed to inputs. In this way, the arrays are permitted to optimally reconfigure themselves for the tasks at hand.